package com.firefly.mail.mailserver.config;

import java.util.HashMap;

import org.apache.commons.lang.StringUtils;

import com.firefly.mail.mailserver.bean.WordResultResponseObject;


public class ErrorMap {

	public HashMap<String, String> setErrorMap(){	
		
		HashMap<String, String> map = new HashMap<String, String>();
		map.put("4"  ,"集群超限额");
		map.put("17"  ,"每天流量超限额");
		map.put("18"  ,"QPS超限额,您调用的太快了");
		map.put("19"  ,"请求总量超限额");
		map.put("100"  ,"无效参数");
		map.put("110"  ,"Access Token失效");
		map.put("111"  ,"Access token过期");
		map.put("282000"  ,"服务器内部错误，请再次请求，如果持续出现此类错误，请通过QQ群（631977213）或工单联系技术支持团队。");
		map.put("216100"  ,"请求中包含非法参数，请检查后重新尝试");
		map.put("216101"  ,"缺少必须的参数，请检查参数是否有遗漏");
		map.put("216102"  ,"请求了不支持的服务，请检查调用的");
		map.put("216103"  ,"请求中某些参数过长，请检查后重新尝试");
		map.put("216110"  ,"appid不存在，请重新核对信息是否为后台应用列表中的appid");
		map.put("216200"  ,"图片为空，请检查后重新尝试");
		map.put("216201"  ,"上传的图片格式错误，现阶段我们支持的图片格式为：PNG、JPG、JPEG、BMP，请进行转码或更换图片");
		map.put("216202"  ,"上传的图片大小错误，现阶段我们支持的图片大小为：base64编码后小于4M，分辨率不高于4096*4096，请重新上传图片");
		map.put("216630"  ,"识别错误，请再次请求，如果持续出现此类错误，请通过QQ群（631977213）或工单联系技术支持团队。");
		map.put("216631"  ,"识别银行卡错误，出现此问题的原因一般为：您上传的图片非银行卡正面，上传了异形卡的图片或上传的银行卡正品图片不完整");
		map.put("216633"  ,"识别身份证错误，出现此问题的原因一般为：您上传了非身份证图片或您上传的身份证图片不完整");
		map.put("216634"  ,"检测错误，请再次请求，如果持续出现此类错误，请通过QQ群（631977213）或工单联系技术支持团队。");
		map.put("282003"  ,"请求参数缺失");
		map.put("282005"  ,"处理批量任务时发生部分或全部错误，请根据具体错误码排查");
		map.put("282006"  ,"批量任务处理数量超出限制，请将任务数量减少到10或10以下");
		map.put("282114"  ,"URL长度超过1024字节或为0");
		map.put("282808"  ,"requstId不存在");
		map.put("282809"  ,"返回结果请求错误（不属于excel或json）");
		map.put("282810"  ,"图像识别错误");
		return map;
	}
	
	
	public WordResultResponseObject parseErrerParam(WordResultResponseObject response){
		if(response!=null){
			if(StringUtils.isNotEmpty(response.getError_code())){
				HashMap<String, String> errorMap=this.setErrorMap();
				String errormsg=errorMap.get(response.getError_code());
				response.setErrorMsgEn(errormsg);
			}
		}		
		return response;
	}
}
